//=============================================================================
//
// file :        Horloge.h
//
// description : Include for the Horloge class.
//
// project :	lgm
//
// $Author: raph $
//
// $Revision: 1.1.1.1 $
//
// $Log: Horloge.h,v $
// Revision 1.1.1.1  2002/05/15 10:05:03  raph
// initial cvs import
//
//
// copyleft :    European Synchrotron Radiation Facility
//               BP 220, Grenoble 38043
//               FRANCE
//
//=============================================================================
//
//  		This file is generated by POGO
//	(Program Obviously used to Generate tango Object)
//
//         (c) - Software Engineering Group - ESRF
//=============================================================================
#ifndef _HORLOGE_H
#define _HORLOGE_H

#include <tango.h>
//using namespace Tango;

/**
 * @author	$Author: raph $
 * @version	$Revision: 1.1.1.1 $ $
 */

 //	Add your own constants definitions here.
 //-----------------------------------------------


namespace Horloge
{

/**
 * Class Description:
 * 
 */

/*
 *	Device States Description:
 *	Tango::ON :	
 */


class Horloge: public Tango::DeviceImpl
{
public :
	//	Add your own data members here
	//-----------------------------------------


	//	Here is the Start of the automatic code generation part
	//-------------------------------------------------------------	
/**
 *	@name attributes
 *	Attributs member data.
 */
//@{
//@}

/**
 *	@name Device properties
 *	Device properties member data.
 */
//@{
//@}

/**@name Constructors
 * Miscellaneous constructors */
//@{
/**
 * Constructs a newly allocated Command object.
 *
 *	@param cl	Class.
 *	@param s 	Device Name
 */
	Horloge(Tango::DeviceClass *,string &);
/**
 * Constructs a newly allocated Command object.
 *
 *	@param cl	Class.
 *	@param s 	Device Name
 */
	Horloge(Tango::DeviceClass *,const char *);
/**
 * Constructs a newly allocated Command object.
 *
 *	@param cl	Class.
 *	@param s 	Device name
 *	@param d	Device description.
 */
	Horloge(Tango::DeviceClass *,const char *,const char *);
//@}

/**@name Destructor
 * Only one desctructor is defined for this class */
//@{
/**
 * The object desctructor.
 */	
	~Horloge() {};
//@}

	
/**@name Miscellaneous methods */
//@{
/**
 *	Initialize the device
 */
	virtual void init_device();
/**
 *	Always executed method befor execution command method.
 */
	virtual void always_executed_hook();

//@}

/**
 * @name Horloge methods prototypes
 */

//@{
/**
 * 
 *	@return	
 *	@exception DevFailed
 */
	Tango::DevString	dev_get_date();
/**
 * a demo command to show arg passing rules
 *	@param	argin	an integer to parse
 *	@return	parsed int
 *	@exception DevFailed
 */
	Tango::DevString	dev_test_cmd(Tango::DevLong);

/**
 *	Read the device properties from database
 */
	 void get_device_property();
//@}

	//	Here is the end of the automatic code generation part
	//-------------------------------------------------------------	



protected :	
	//	Add your own data members here
	//-----------------------------------------
};

}	// namespace

#endif	// _HORLOGE_H
